package admin_in

import "rewords-server-2024/internal/model/entity"

// MenuTree 菜单树
type MenuTree struct {
	entity.SysMenu
	Key      int64       `json:"key" `
	Label    string      `json:"label"     dc:"标签"`
	Children []*MenuTree `json:"children"`
}

// MenuTreeModel 菜单树
type MenuTreeModel struct {
	List []*MenuTree `json:"list"`
}

// MenuSimple 菜单树 side menu 用
type MenuSimple struct {
	ParentID  int64         `bson:"parent_id"   json:"-" v:"required#父菜单不能为空"` // 父级ID
	Label     string        `json:"label"`
	Url       string        `json:"url"`
	Icon      string        `json:"icon"`
	Visible   bool          `json:"visible"`
	Redirect  string        `json:"redirect"`
	SortNo    int32         `json:"sort_no"`
	SchemaAPI string        `json:"schema_api,omitempty" `
	Children  []*MenuSimple `json:"children"`
}

// MenuKv 菜单树 select来用
type MenuKv struct {
	ParentID int64     `bson:"parent_id"   json:"-" v:"required#父菜单不能为空"` // 父级ID
	Label    string    `json:"label"`
	Value    int64     `json:"value"`
	SortNo   int32     `json:"sort_no"`
	Children []*MenuKv `json:"children"`
}
